package com.nsgf.library.data.bean;

import android.os.Build;
import android.os.Parcel;
import android.os.Parcelable;

import androidx.annotation.NonNull;

import com.google.gson.annotations.SerializedName;
import com.nsgf.library.data.api.APIs;
import com.nsgf.library.widget.prckerview.model.IPickerViewData;

import java.util.List;

public class UserDataBean implements Parcelable {
    private String id;
    private int userId;
    private UserBean user;
    private TokenInfoBean tokenInfo;
    private String reference;
    private String accessToken;
    private int isMerchant;
    private String nickname;
    private String avatar;
    private String levelName;
    private double point;
    private double freezePoints;
    private double welfarePoint;
    private double freezeWelfarePoint;
    private String dividendPoint;
    private double huitongTreasure;
    private double freezeHuitongTreasure;
    private double contribution;
    private double freezeContribution;
    private double loveFund;

    private List<UserBean.SysConfigListBean> sysConfigList;
    protected String receiveStatus;
    private String mobile;
    private String payOrdersNum;
    private double transactionAmount;
    private double totalPoint;
    private double totalWelfarePoint;
    private List<String> carouselList;
    private List<ListBean> list;

    protected UserDataBean(Parcel in) {
        id = in.readString();
        userId = in.readInt();
        user = in.readParcelable(UserBean.class.getClassLoader());
        tokenInfo = in.readParcelable(TokenInfoBean.class.getClassLoader());
        reference = in.readString();
        accessToken = in.readString();
        isMerchant = in.readInt();
        nickname = in.readString();
        avatar = in.readString();
        levelName = in.readString();
        point = in.readDouble();
        freezePoints = in.readDouble();
        welfarePoint = in.readDouble();
        freezeWelfarePoint = in.readDouble();
        dividendPoint = in.readString();
        huitongTreasure = in.readDouble();
        freezeHuitongTreasure = in.readDouble();
        contribution = in.readDouble();
        freezeContribution = in.readDouble();
        loveFund = in.readDouble();
        sysConfigList = in.createTypedArrayList(UserBean.SysConfigListBean.CREATOR);
        receiveStatus = in.readString();
        mobile = in.readString();
        payOrdersNum = in.readString();
        transactionAmount = in.readDouble();
        totalPoint = in.readDouble();
        totalWelfarePoint = in.readDouble();
        carouselList = in.createStringArrayList();
        totalDividendPoint = in.readDouble();
        totalHuitongTreasure = in.readDouble();
        dividendPointUsersNum = in.readDouble();
        amountWithdrawal = in.readDouble();
        totalContribution = in.readDouble();
        totalLoveFund = in.readString();
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
            adminFlag = in.readBoolean();
        }
    }

    public static final Creator<UserDataBean> CREATOR = new Creator<UserDataBean>() {
        @Override
        public UserDataBean createFromParcel(Parcel in) {
            return new UserDataBean(in);
        }

        @Override
        public UserDataBean[] newArray(int size) {
            return new UserDataBean[size];
        }
    };

    public String getPayOrdersNum() {
        return payOrdersNum;
    }

    public void setPayOrdersNum(String payOrdersNum) {
        this.payOrdersNum = payOrdersNum;
    }

    public double getTransactionAmount() {
        return transactionAmount;
    }

    public String getTransactionAmountSrc() {
        return APIs.df.format(transactionAmount / 100);
    }

    public void setTransactionAmount(double transactionAmount) {
        this.transactionAmount = transactionAmount;
    }

    public double getTotalPoint() {
        return totalPoint;
    }

    public String getTotalPointSrc() {
        return APIs.df.format(totalPoint / 100);
    }

    public void setTotalPoint(double totalPoint) {
        this.totalPoint = totalPoint;
    }

    public double getTotalWelfarePoint() {
        return totalWelfarePoint;
    }

    public String getTotalWelfarePointSrc() {
        return APIs.df.format(totalWelfarePoint / 100);
    }

    public void setTotalWelfarePoint(double totalWelfarePoint) {
        this.totalWelfarePoint = totalWelfarePoint;
    }

    public double getTotalDividendPoint() {
        return totalDividendPoint;
    }

    public String getTotalDividendPointSrc() {
        return APIs.df.format(totalDividendPoint / 100);
    }

    public void setTotalDividendPoint(double totalDividendPoint) {
        this.totalDividendPoint = totalDividendPoint;
    }

    public double getTotalHuitongTreasure() {
        return totalHuitongTreasure;
    }

    public void setTotalHuitongTreasure(double totalHuitongTreasure) {
        this.totalHuitongTreasure = totalHuitongTreasure;
    }

    public double getDividendPointUsersNum() {
        return dividendPointUsersNum;
    }

    public String getDividendPointUsersNumSrc() {
        return APIs.df.format(dividendPointUsersNum / 100);
    }

    public void setDividendPointUsersNum(double dividendPointUsersNum) {
        this.dividendPointUsersNum = dividendPointUsersNum;
    }

    private double totalDividendPoint;
    private double totalHuitongTreasure;
    private double dividendPointUsersNum;
    private double amountWithdrawal;
    private double totalContribution;
    private String totalLoveFund;
    private boolean adminFlag;

    public String getReceiveStatus() {
        return receiveStatus;
    }

    public void setReceiveStatus(String receiveStatus) {
        this.receiveStatus = receiveStatus;
    }

    public UserDataBean() {
    }


    public void setSysConfigList(List<UserBean.SysConfigListBean> sysConfigList) {
        this.sysConfigList = sysConfigList;
    }

    public List<UserBean.SysConfigListBean> getSysConfigList() {
        return sysConfigList;
    }


    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public String getAvatar() {
        return avatar;
    }

    public void setAvatar(String avatar) {
        this.avatar = avatar;
    }

    public String getLevelName() {
        return levelName;
    }

    public void setLevelName(String levelName) {
        this.levelName = levelName;
    }

    public double getPoint() {
        return point;
    }

    public String getPointSrc() {
        return APIs.df.format(point / 100);
    }

    public void setPoint(double point) {
        this.point = point;
    }

    public double getFreezePoints() {
        return freezePoints;
    }

    public String getFreezePointsSrc() {
        return "冻结消费积分" + APIs.df.format(freezePoints / 100);
    }

    public void setFreezePoints(double freezePoints) {
        this.freezePoints = freezePoints;
    }

    public double getWelfarePoint() {
        return welfarePoint;
    }

    public String getWelfarePointSrc() {
        return APIs.df.format(welfarePoint / 100);
    }

    public void setWelfarePoint(double welfarePoint) {
        this.welfarePoint = welfarePoint;
    }

    public double getFreezeWelfarePoint() {
        return freezeWelfarePoint;
    }

    public String getFreezeWelfarePointSrc() {
        return "冻结福利积分" + APIs.df.format(freezeWelfarePoint / 100);
    }

    public void setFreezeWelfarePoint(double freezeWelfarePoint) {
        this.freezeWelfarePoint = freezeWelfarePoint;
    }

    public String getDividendPoint() {
        return dividendPoint;
    }

    public void setDividendPoint(String dividendPoint) {
        this.dividendPoint = dividendPoint;
    }

    public double getHuitongTreasure() {
        return huitongTreasure;
    }

    public String getHuitongTreasureSrc() {
        return APIs.df.format(huitongTreasure / 100);
    }

    public String getTotalHuitongTreasureSrc() {
        return APIs.df.format(totalHuitongTreasure / 100);
    }

    public void setHuitongTreasure(double huitongTreasure) {
        this.huitongTreasure = huitongTreasure;
    }

    public double getFreezeHuitongTreasure() {
        return freezeHuitongTreasure;
    }

    public String getFreezeHuitongTreasureSrc() {
        return "冻结惠通宝" + APIs.df.format(freezeHuitongTreasure / 100);
    }

    public void setFreezeHuitongTreasure(double freezeHuitongTreasure) {
        this.freezeHuitongTreasure = freezeHuitongTreasure;
    }

    public double getContribution() {
        return contribution;
    }

    public String getContributionSrc() {
        return APIs.df.format(getContribution() / 100);
    }

    public void setContribution(double contribution) {
        this.contribution = contribution;
    }

    public double getFreezeContribution() {
        return freezeContribution;
    }

    public String getFreezeContributionSrc() {
        return "冻结贡献值" + APIs.df.format(getFreezeContribution() / 100);
    }

    public void setFreezeContribution(double freezeContribution) {
        this.freezeContribution = freezeContribution;
    }

    public String getLoveFund() {
        return APIs.df.format(loveFund / 100);
    }

    public void setLoveFund(double loveFund) {
        this.loveFund = loveFund;
    }

    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public UserBean getUser() {
        return user;
    }

    public void setUser(UserBean user) {
        this.user = user;
    }

    public TokenInfoBean getTokenInfo() {
        return tokenInfo;
    }

    public void setTokenInfo(TokenInfoBean tokenInfo) {
        this.tokenInfo = tokenInfo;
    }

    public String getAccessToken() {
        return accessToken;
    }

    public void setAccessToken(String accessToken) {
        this.accessToken = accessToken;
    }

    public int getIsMerchant() {
        return isMerchant;
    }

    public void setIsMerchant(int isMerchant) {
        this.isMerchant = isMerchant;
    }

    public String getIdSrc() {
        return "ID：" + id;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getReference() {
        return "推荐人：" + reference;
    }

    public void setReference(String reference) {
        this.reference = reference;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public double getAmountWithdrawal() {
        return amountWithdrawal;
    }

    public void setAmountWithdrawal(double amountWithdrawal) {
        this.amountWithdrawal = amountWithdrawal;
    }

    public List<String> getCarouselList() {
        return carouselList;
    }

    public void setCarouselList(List<String> carouselList) {
        this.carouselList = carouselList;
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(@NonNull Parcel parcel, int i) {
        parcel.writeString(id);
        parcel.writeInt(userId);
        parcel.writeParcelable(user, i);
        parcel.writeParcelable(tokenInfo, i);
        parcel.writeString(reference);
        parcel.writeString(accessToken);
        parcel.writeInt(isMerchant);
        parcel.writeString(nickname);
        parcel.writeString(avatar);
        parcel.writeString(levelName);
        parcel.writeDouble(point);
        parcel.writeDouble(freezePoints);
        parcel.writeDouble(welfarePoint);
        parcel.writeDouble(freezeWelfarePoint);
        parcel.writeString(dividendPoint);
        parcel.writeDouble(huitongTreasure);
        parcel.writeDouble(freezeHuitongTreasure);
        parcel.writeDouble(contribution);
        parcel.writeDouble(freezeContribution);
        parcel.writeDouble(loveFund);
        parcel.writeTypedList(sysConfigList);
        parcel.writeString(receiveStatus);
        parcel.writeString(mobile);
        parcel.writeString(payOrdersNum);
        parcel.writeDouble(transactionAmount);
        parcel.writeDouble(totalPoint);
        parcel.writeDouble(totalWelfarePoint);
        parcel.writeStringList(carouselList);
        parcel.writeDouble(totalDividendPoint);
        parcel.writeDouble(totalHuitongTreasure);
        parcel.writeDouble(dividendPointUsersNum);
        parcel.writeDouble(amountWithdrawal);
        parcel.writeDouble(totalContribution);
        parcel.writeString(totalLoveFund);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
            parcel.writeBoolean(adminFlag);
        }
    }

    public double getTotalContribution() {
        return totalContribution;
    }

    public String getTotalContributionSrc() {
        return APIs.df.format(totalContribution / 100);
    }

    public void setTotalContribution(double totalContribution) {
        this.totalContribution = totalContribution;
    }

    public String getTotalLoveFund() {
        return totalLoveFund;
    }

    public void setTotalLoveFund(String totalLoveFund) {
        this.totalLoveFund = totalLoveFund;
    }

    public List<ListBean> getList() {
        return list;
    }

    public void setList(List<ListBean> list) {
        this.list = list;
    }

    public boolean isAdminFlag() {
        return adminFlag;
    }

    public void setAdminFlag(boolean adminFlag) {
        this.adminFlag = adminFlag;
    }


    public static class UserBean implements Parcelable {

        private int id;
        private String username;
        private String password;
        private String salt;
        private String position;
        private Object technicalGrade;
        private Object jobGrade;
        private String sex;
        private String sexDesc;
        private String phone;
        private int status;
        private int userType;
        private String createTime;
        private String loginTime;
        private String loginIp;
        private int loginCount;
        private int isDel;
        private int roleId;
        private String roleName;
        private boolean singleProject;
        private String deptName;
        private List<SysConfigListBean> sysConfigList;

        protected UserBean(Parcel in) {
            id = in.readInt();
            username = in.readString();
            password = in.readString();
            salt = in.readString();
            position = in.readString();
            sex = in.readString();
            sexDesc = in.readString();
            phone = in.readString();
            status = in.readInt();
            userType = in.readInt();
            createTime = in.readString();
            loginTime = in.readString();
            loginIp = in.readString();
            loginCount = in.readInt();
            isDel = in.readInt();
            roleId = in.readInt();
            roleName = in.readString();
            singleProject = in.readByte() != 0;
            deptName = in.readString();
            sysConfigList = in.createTypedArrayList(SysConfigListBean.CREATOR);
        }

        public static final Creator<UserBean> CREATOR = new Creator<UserBean>() {
            @Override
            public UserBean createFromParcel(Parcel in) {
                return new UserBean(in);
            }

            @Override
            public UserBean[] newArray(int size) {
                return new UserBean[size];
            }
        };

        public int getId() {
            return id;
        }

        public void setId(int id) {
            this.id = id;
        }

        public String getUsername() {
            return username;
        }

        public void setUsername(String username) {
            this.username = username;
        }

        public String getPassword() {
            return password;
        }

        public void setPassword(String password) {
            this.password = password;
        }

        public String getSalt() {
            return salt;
        }

        public void setSalt(String salt) {
            this.salt = salt;
        }

        public String getPosition() {
            return position;
        }

        public void setPosition(String position) {
            this.position = position;
        }

        public Object getTechnicalGrade() {
            return technicalGrade;
        }

        public void setTechnicalGrade(Object technicalGrade) {
            this.technicalGrade = technicalGrade;
        }

        public Object getJobGrade() {
            return jobGrade;
        }

        public void setJobGrade(Object jobGrade) {
            this.jobGrade = jobGrade;
        }

        public String getSex() {
            return sex;
        }

        public void setSex(String sex) {
            this.sex = sex;
        }

        public String getSexDesc() {
            return sexDesc;
        }

        public void setSexDesc(String sexDesc) {
            this.sexDesc = sexDesc;
        }

        public String getPhone() {
            return phone;
        }

        public void setPhone(String phone) {
            this.phone = phone;
        }

        public int getStatus() {
            return status;
        }

        public void setStatus(int status) {
            this.status = status;
        }

        public int getUserType() {
            return userType;
        }

        public void setUserType(int userType) {
            this.userType = userType;
        }

        public String getCreateTime() {
            return createTime;
        }

        public void setCreateTime(String createTime) {
            this.createTime = createTime;
        }

        public String getLoginTime() {
            return loginTime;
        }

        public void setLoginTime(String loginTime) {
            this.loginTime = loginTime;
        }

        public String getLoginIp() {
            return loginIp;
        }

        public void setLoginIp(String loginIp) {
            this.loginIp = loginIp;
        }

        public int getLoginCount() {
            return loginCount;
        }

        public void setLoginCount(int loginCount) {
            this.loginCount = loginCount;
        }

        public int getIsDel() {
            return isDel;
        }

        public void setIsDel(int isDel) {
            this.isDel = isDel;
        }

        public int getRoleId() {
            return roleId;
        }

        public void setRoleId(int roleId) {
            this.roleId = roleId;
        }

        public String getRoleName() {
            return roleName;
        }

        public void setRoleName(String roleName) {
            this.roleName = roleName;
        }

        public boolean isSingleProject() {
            return singleProject;
        }

        public void setSingleProject(boolean singleProject) {
            this.singleProject = singleProject;
        }

        public String getDeptName() {
            return deptName;
        }

        public void setDeptName(String deptName) {
            this.deptName = deptName;
        }

        public List<SysConfigListBean> getSysConfigList() {
            return sysConfigList;
        }

        public void setSysConfigList(List<SysConfigListBean> sysConfigList) {
            this.sysConfigList = sysConfigList;
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(@NonNull Parcel parcel, int i) {
            parcel.writeInt(id);
            parcel.writeString(username);
            parcel.writeString(password);
            parcel.writeString(salt);
            parcel.writeString(position);
            parcel.writeString(sex);
            parcel.writeString(sexDesc);
            parcel.writeString(phone);
            parcel.writeInt(status);
            parcel.writeInt(userType);
            parcel.writeString(createTime);
            parcel.writeString(loginTime);
            parcel.writeString(loginIp);
            parcel.writeInt(loginCount);
            parcel.writeInt(isDel);
            parcel.writeInt(roleId);
            parcel.writeString(roleName);
            parcel.writeByte((byte) (singleProject ? 1 : 0));
            parcel.writeString(deptName);
            parcel.writeTypedList(sysConfigList);
        }

        public static class SysConfigListBean implements Parcelable {
            /**
             * id : 29
             * configValue : 1
             * configKey : transfer_of_benefit_points_features
             * remark : 福利积分转让功能 ( 1:开启 0:关闭 )
             */

            @SerializedName("id")
            private int idX;
            private String configValue;
            private String configKey;
            private String remark;

            protected SysConfigListBean(Parcel in) {
                idX = in.readInt();
                configValue = in.readString();
                configKey = in.readString();
                remark = in.readString();
            }

            public static final Creator<SysConfigListBean> CREATOR = new Creator<SysConfigListBean>() {
                @Override
                public SysConfigListBean createFromParcel(Parcel in) {
                    return new SysConfigListBean(in);
                }

                @Override
                public SysConfigListBean[] newArray(int size) {
                    return new SysConfigListBean[size];
                }
            };

            public int getIdX() {
                return idX;
            }

            public void setIdX(int idX) {
                this.idX = idX;
            }

            public String getConfigValue() {
                return configValue;
            }

            public void setConfigValue(String configValue) {
                this.configValue = configValue;
            }

            public String getConfigKey() {
                return configKey;
            }

            public void setConfigKey(String configKey) {
                this.configKey = configKey;
            }

            public String getRemark() {
                return remark;
            }

            public void setRemark(String remark) {
                this.remark = remark;
            }

            @Override
            public int describeContents() {
                return 0;
            }

            @Override
            public void writeToParcel(@NonNull Parcel parcel, int i) {
                parcel.writeInt(idX);
                parcel.writeString(configValue);
                parcel.writeString(configKey);
                parcel.writeString(remark);
            }
        }
    }

    public static class TokenInfoBean implements Parcelable {

        private String tokenName;
        private String tokenValue;
        private boolean isLogin;
        private String loginId;
        private String loginType;
        private int tokenTimeout;
        private int sessionTimeout;
        private int tokenSessionTimeout;
        private int tokenActivityTimeout;
        private String loginDevice;
        private Object tag;

        protected TokenInfoBean(Parcel in) {
            tokenName = in.readString();
            tokenValue = in.readString();
            isLogin = in.readByte() != 0;
            loginId = in.readString();
            loginType = in.readString();
            tokenTimeout = in.readInt();
            sessionTimeout = in.readInt();
            tokenSessionTimeout = in.readInt();
            tokenActivityTimeout = in.readInt();
            loginDevice = in.readString();
        }

        public static final Creator<TokenInfoBean> CREATOR = new Creator<TokenInfoBean>() {
            @Override
            public TokenInfoBean createFromParcel(Parcel in) {
                return new TokenInfoBean(in);
            }

            @Override
            public TokenInfoBean[] newArray(int size) {
                return new TokenInfoBean[size];
            }
        };

        public String getTokenName() {
            return tokenName;
        }

        public void setTokenName(String tokenName) {
            this.tokenName = tokenName;
        }

        public String getTokenValue() {
            return tokenValue;
        }

        public void setTokenValue(String tokenValue) {
            this.tokenValue = tokenValue;
        }

        public boolean isIsLogin() {
            return isLogin;
        }

        public void setIsLogin(boolean isLogin) {
            this.isLogin = isLogin;
        }

        public String getLoginId() {
            return loginId;
        }

        public void setLoginId(String loginId) {
            this.loginId = loginId;
        }

        public String getLoginType() {
            return loginType;
        }

        public void setLoginType(String loginType) {
            this.loginType = loginType;
        }

        public int getTokenTimeout() {
            return tokenTimeout;
        }

        public void setTokenTimeout(int tokenTimeout) {
            this.tokenTimeout = tokenTimeout;
        }

        public int getSessionTimeout() {
            return sessionTimeout;
        }

        public void setSessionTimeout(int sessionTimeout) {
            this.sessionTimeout = sessionTimeout;
        }

        public int getTokenSessionTimeout() {
            return tokenSessionTimeout;
        }

        public void setTokenSessionTimeout(int tokenSessionTimeout) {
            this.tokenSessionTimeout = tokenSessionTimeout;
        }

        public int getTokenActivityTimeout() {
            return tokenActivityTimeout;
        }

        public void setTokenActivityTimeout(int tokenActivityTimeout) {
            this.tokenActivityTimeout = tokenActivityTimeout;
        }

        public String getLoginDevice() {
            return loginDevice;
        }

        public void setLoginDevice(String loginDevice) {
            this.loginDevice = loginDevice;
        }

        public Object getTag() {
            return tag;
        }

        public void setTag(Object tag) {
            this.tag = tag;
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(@NonNull Parcel parcel, int i) {
            parcel.writeString(tokenName);
            parcel.writeString(tokenValue);
            parcel.writeByte((byte) (isLogin ? 1 : 0));
            parcel.writeString(loginId);
            parcel.writeString(loginType);
            parcel.writeInt(tokenTimeout);
            parcel.writeInt(sessionTimeout);
            parcel.writeInt(tokenSessionTimeout);
            parcel.writeInt(tokenActivityTimeout);
            parcel.writeString(loginDevice);
        }
    }

    public static class ListBean implements Parcelable, IPickerViewData {

        @SerializedName("mobile")
        private String mobileX;
        private int status;
        @SerializedName("nickname")
        private String nicknameX;
        @SerializedName("avatar")
        private String avatarX;
        private String name;
        private int sex;
        private Object areaId;
        private Object areaName;
        private Object birthday;
        private Object mark;
        private Object tagIds;
        private Object levelId;
        private Object groupId;
        @SerializedName("id")
        private int idX;
        private String registerIp;
        private String loginIp;
        private long loginDate;
        private long createTime;
        @SerializedName("point")
        private double pointX;
        @SerializedName("totalPoint")
        private Object totalPointX;
        @SerializedName("levelName")
        private Object levelNameX;
        private Object groupName;
        private int experience;
        @SerializedName("welfarePoint")
        private int welfarePointX;
        @SerializedName("dividendPoint")
        private int dividendPointX;
        @SerializedName("huitongTreasure")
        private int huitongTreasureX;
        @SerializedName("contribution")
        private int contributionX;
        @SerializedName("loveFund")
        private int loveFundX;
        private String spid;
        private int managerStar;
        private int managerLevel;
        private int rank;
        private String invitor;
        private String rankName;
        private Object invitorRealName;
        private List<?> tagNames;

        public ListBean(){}
        protected ListBean(Parcel in) {
            mobileX = in.readString();
            status = in.readInt();
            nicknameX = in.readString();
            avatarX = in.readString();
            name = in.readString();
            sex = in.readInt();
            idX = in.readInt();
            registerIp = in.readString();
            loginIp = in.readString();
            loginDate = in.readLong();
            createTime = in.readLong();
            pointX = in.readDouble();
            experience = in.readInt();
            welfarePointX = in.readInt();
            dividendPointX = in.readInt();
            huitongTreasureX = in.readInt();
            contributionX = in.readInt();
            loveFundX = in.readInt();
            spid = in.readString();
            managerStar = in.readInt();
            managerLevel = in.readInt();
            rank = in.readInt();
            invitor = in.readString();
            rankName = in.readString();
        }

        public static final Creator<ListBean> CREATOR = new Creator<ListBean>() {
            @Override
            public ListBean createFromParcel(Parcel in) {
                return new ListBean(in);
            }

            @Override
            public ListBean[] newArray(int size) {
                return new ListBean[size];
            }
        };

        public String getMobileX() {
            return "手机号："+mobileX;
        }

        public void setMobileX(String mobileX) {
            this.mobileX = mobileX;
        }

        public int getStatus() {
            return status;
        }

        public void setStatus(int status) {
            this.status = status;
        }

        public String getNicknameX() {
            return nicknameX;
        }

        public void setNicknameX(String nicknameX) {
            this.nicknameX = nicknameX;
        }

        public String getAvatarX() {
            return avatarX;
        }

        public void setAvatarX(String avatarX) {
            this.avatarX = avatarX;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public int getSex() {
            return sex;
        }

        public void setSex(int sex) {
            this.sex = sex;
        }

        public Object getAreaId() {
            return areaId;
        }

        public void setAreaId(Object areaId) {
            this.areaId = areaId;
        }

        public Object getAreaName() {
            return areaName;
        }

        public void setAreaName(Object areaName) {
            this.areaName = areaName;
        }

        public Object getBirthday() {
            return birthday;
        }

        public void setBirthday(Object birthday) {
            this.birthday = birthday;
        }

        public Object getMark() {
            return mark;
        }

        public void setMark(Object mark) {
            this.mark = mark;
        }

        public Object getTagIds() {
            return tagIds;
        }

        public void setTagIds(Object tagIds) {
            this.tagIds = tagIds;
        }

        public Object getLevelId() {
            return levelId;
        }

        public void setLevelId(Object levelId) {
            this.levelId = levelId;
        }

        public Object getGroupId() {
            return groupId;
        }

        public void setGroupId(Object groupId) {
            this.groupId = groupId;
        }

        public int getIdX() {
            return idX;
        }

        public String getIdXSrc() {
            return "ID:" + idX;
        }

        public void setIdX(int idX) {
            this.idX = idX;
        }

        public String getRegisterIp() {
            return registerIp;
        }

        public void setRegisterIp(String registerIp) {
            this.registerIp = registerIp;
        }

        public String getLoginIp() {
            return loginIp;
        }

        public void setLoginIp(String loginIp) {
            this.loginIp = loginIp;
        }

        public long getLoginDate() {
            return loginDate;
        }

        public void setLoginDate(long loginDate) {
            this.loginDate = loginDate;
        }

        public long getCreateTime() {
            return createTime;
        }

        public void setCreateTime(long createTime) {
            this.createTime = createTime;
        }

        public double getPointX() {
            return pointX;
        }

        public void setPointX(double pointX) {
            this.pointX = pointX;
        }

        public Object getTotalPointX() {
            return totalPointX;
        }

        public void setTotalPointX(Object totalPointX) {
            this.totalPointX = totalPointX;
        }

        public Object getLevelNameX() {
            return levelNameX;
        }

        public void setLevelNameX(Object levelNameX) {
            this.levelNameX = levelNameX;
        }

        public Object getGroupName() {
            return groupName;
        }

        public void setGroupName(Object groupName) {
            this.groupName = groupName;
        }

        public int getExperience() {
            return experience;
        }

        public void setExperience(int experience) {
            this.experience = experience;
        }

        public int getWelfarePointX() {
            return welfarePointX;
        }

        public void setWelfarePointX(int welfarePointX) {
            this.welfarePointX = welfarePointX;
        }

        public int getDividendPointX() {
            return dividendPointX;
        }

        public void setDividendPointX(int dividendPointX) {
            this.dividendPointX = dividendPointX;
        }

        public int getHuitongTreasureX() {
            return huitongTreasureX;
        }

        public void setHuitongTreasureX(int huitongTreasureX) {
            this.huitongTreasureX = huitongTreasureX;
        }

        public int getContributionX() {
            return contributionX;
        }

        public void setContributionX(int contributionX) {
            this.contributionX = contributionX;
        }

        public int getLoveFundX() {
            return loveFundX;
        }

        public void setLoveFundX(int loveFundX) {
            this.loveFundX = loveFundX;
        }

        public String getSpid() {
            return spid;
        }

        public void setSpid(String spid) {
            this.spid = spid;
        }

        public int getManagerStar() {
            return managerStar;
        }

        public void setManagerStar(int managerStar) {
            this.managerStar = managerStar;
        }

        public int getManagerLevel() {
            return managerLevel;
        }

        public void setManagerLevel(int managerLevel) {
            this.managerLevel = managerLevel;
        }

        public int getRank() {
            return rank;
        }

        public void setRank(int rank) {
            this.rank = rank;
        }

        public String getInvitor() {
            return invitor;
        }

        public String getInvitorAndSPID() {
            return "推荐人：" + getInvitor() + "/" + getSpid();
        }

        public void setInvitor(String invitor) {
            this.invitor = invitor;
        }

        public String getRankName() {
            return rankName;
        }
        public String getRankNameSrc() {
            return "级别：" + rankName;
        }

        public void setRankName(String rankName) {
            this.rankName = rankName;
        }

        public Object getInvitorRealName() {
            return invitorRealName;
        }

        public void setInvitorRealName(Object invitorRealName) {
            this.invitorRealName = invitorRealName;
        }

        public List<?> getTagNames() {
            return tagNames;
        }

        public void setTagNames(List<?> tagNames) {
            this.tagNames = tagNames;
        }

        @Override
        public int describeContents() {
            return 0;
        }

        @Override
        public void writeToParcel(@NonNull Parcel parcel, int i) {
            parcel.writeString(mobileX);
            parcel.writeInt(status);
            parcel.writeString(nicknameX);
            parcel.writeString(avatarX);
            parcel.writeString(name);
            parcel.writeInt(sex);
            parcel.writeInt(idX);
            parcel.writeString(registerIp);
            parcel.writeString(loginIp);
            parcel.writeLong(loginDate);
            parcel.writeLong(createTime);
            parcel.writeDouble(pointX);
            parcel.writeInt(experience);
            parcel.writeInt(welfarePointX);
            parcel.writeInt(dividendPointX);
            parcel.writeInt(huitongTreasureX);
            parcel.writeInt(contributionX);
            parcel.writeInt(loveFundX);
            parcel.writeString(spid);
            parcel.writeInt(managerStar);
            parcel.writeInt(managerLevel);
            parcel.writeInt(rank);
            parcel.writeString(invitor);
            parcel.writeString(rankName);
        }

        @Override
        public String getPickerViewText() {
            return getRankName();
        }
    }
}
